//
//  SISSNetworkingManager+Home.h
//  SISSAPP
//
//  Created by 优房网 on 2017/3/22.
//  Copyright © 2017年 优房网. All rights reserved.
//

#import "SISSNetworkingManager.h"
#import "SISSHouseResourceModel.h"
#import "SISSPassengerResourceModel.h"
#import "SISSFuzzySearchModel.h"
#import "SISSHouseCooperationDetailModel.h"
#import "SISSPassengerCooperationDetailModel.h"
#import "SISSRentOutModel.h"
#import "SISSTenantModel.h"

@interface SISSNetworkingManager (Home)


/**
 2.1.1 首页最新20条房源

 @param successBlock 成功模型数组的回调
 @param failedBlock 失败的回调
 */
- (void)requestNewestHouseResourceWithSuccess:(void(^)(NSArray<SISSHouseResourceModel *> * houseResources))successBlock failed:(void(^)(NSError *error))failedBlock;

/**
 2.1.2 首页最新20条客源
 
 @param successBlock 成功模型数组的回调
 @param failedBlock 失败的回调
 */
- (void)requestNewestPassengerResourceWithSuccess:(void(^)(NSArray<SISSPassengerResourceModel *> * passengerResources))successBlock failed:(void(^)(NSError *error))failedBlock;

/**
 2.1.3 获取最新的出租
 
 @param successBlock 成功模型数组的回调
 @param failedBlock 失败的回调
 */
- (void)requestNewestRentOutResourceWithSuccess:(void(^)(NSArray<SISSRentOutModel *> * rentOutResources))successBlock failed:(void(^)(NSError *error))failedBlock;

/**
 2.1.4 获取最新的租客
 
 @param successBlock 成功模型数组的回调
 @param failedBlock 失败的回调
 */
- (void)requestNewestTenantResourceWithSuccess:(void(^)(NSArray<SISSTenantModel *> * tenantResources))successBlock failed:(void(^)(NSError *error))failedBlock;

/**
 2.3.1 模糊搜索房源 GET请求

 @param key 输入的关键字
 @param successBlock 成功模型数组的回调
 @param failedBlock 失败的回调
 */
- (void)requestFuzzySearchHouseWithKey:(NSString *)key success:(void(^)(NSArray<SISSFuzzySearchModel *> * fuzzySearchResults))successBlock failed:(void(^)(NSError *error))failedBlock;
/**
 2.3.2 模糊搜索客源 GET请求
 
 @param key 输入的关键字
 @param successBlock 成功模型数组的回调
 @param failedBlock 失败的回调
 */
- (void)requestFuzzySearchPassengerWithKey:(NSString *)key success:(void(^)(NSArray<SISSFuzzySearchModel *> * fuzzySearchResults))successBlock failed:(void(^)(NSError *error))failedBlock;

/**
 2.3.3 模糊搜索房源合作 GET请求
 
 @param key 输入的关键字
 @param successBlock 成功模型数组的回调
 @param failedBlock 失败的回调
 */
- (void)requestFuzzySearchHouseCooperationWithKey:(NSString *)key success:(void(^)(NSArray<SISSFuzzySearchModel *> * fuzzySearchResults))successBlock failed:(void(^)(NSError *error))failedBlock;

/**
 2.3.4 模糊搜索客源合作 GET请求
 
 @param key 输入的关键字
 @param successBlock 成功模型数组的回调
 @param failedBlock 失败的回调
 */
- (void)requestFuzzySearchPassengerCooperationWithKey:(NSString *)key success:(void(^)(NSArray<SISSFuzzySearchModel *> * fuzzySearchResults))successBlock failed:(void(^)(NSError *error))failedBlock;

/**
 2.3.5 出租模糊搜索 GET请求
 
 @param key 输入的关键字
 @param successBlock 成功模型数组的回调
 @param failedBlock 失败的回调
 */
- (void)requestFuzzySearchRentOutWithKey:(NSString *)key success:(void(^)(NSArray<SISSFuzzySearchModel *> * fuzzySearchResults))successBlock failed:(void(^)(NSError *error))failedBlock;

/**
 2.3.6 租客模糊搜索 GET请求
 
 @param key 输入的关键字
 @param successBlock 成功模型数组的回调
 @param failedBlock 失败的回调
 */
- (void)requestFuzzySearchTenantWithKey:(NSString *)key success:(void(^)(NSArray<SISSFuzzySearchModel *> * fuzzySearchResults))successBlock failed:(void(^)(NSError *error))failedBlock;


/**
 2.5.1 房源合作请求

 @param parameters 请求房源合作房源参数
 @param successBlock 成功的回调
 @param failedBlock 失败的回调
 */
- (void)requestHouseCooperationRequestWithparameters:(NSDictionary *)parameters success:(void(^)(id responseObject))successBlock failed:(void(^)(NSError *error))failedBlock;

/**
 2.5.2 客源合作请求
 
 @param parameters 请求客源合作房源参数
 @param successBlock 成功的回调
 @param failedBlock 失败的回调
 */
- (void)requestPassengerCooperationRequestWithparameters:(NSDictionary *)parameters success:(void(^)(id responseObject))successBlock failed:(void(^)(NSError *error))failedBlock;

/**
 2.6.1 房源合作详情 GET请求
 
 @param parameters 获取详情参数
 @param successBlock 成功的回调
 @param failedBlock 失败的回调
 */
- (void)requestHouseCooperationDetailWithparameters:(NSDictionary *)parameters success:(void(^)(SISSHouseCooperationDetailModel *houseCooperationModel))successBlock failed:(void(^)(NSError *error))failedBlock;

/**
 2.6.2 客源合作详情 GET请求
 
 @param parameters 获取详情参数
 @param successBlock 成功的回调
 @param failedBlock 失败的回调
 */
- (void)requestPassengerCooperationDetailWithparameters:(NSDictionary *)parameters success:(void(^)(SISSPassengerCooperationDetailModel *passengerCooperationModel))successBlock failed:(void(^)(NSError *error))failedBlock;

/**
 2.7.1 插入房源已读记录

 @param houseId 房源id
 @param successBlock 成功的回调
 @param failedBlock 失败的回调
 */
- (void)setHouseResourceReadWithHouseId:(NSString *)houseId success:(void(^)(id responseObject))successBlock failed:(void(^)(NSError *error))failedBlock;

/**
 2.7.2 插入客源已读记录

 @param passengerId 客源id
 @param successBlock 成功的回调
 @param failedBlock 失败的回调
 */
- (void)setPassengerResourceReadWithPassengerId:(NSString *)passengerId success:(void(^)(id responseObject))successBlock failed:(void(^)(NSError *error))failedBlock;

/**
 2.7.3 设置出租已读
 
 @param rentOutId 出租id
 @param successBlock 成功的回调
 @param failedBlock 失败的回调
 */
- (void)setRentOutResourceReadWithRentOutId:(NSString *)rentOutId success:(void(^)(id responseObject))successBlock failed:(void(^)(NSError *error))failedBlock;

/**
 2.7.4 设置租客已读
 
 @param tenantId 租客id
 @param successBlock 成功的回调
 @param failedBlock 失败的回调
 */
- (void)setTenantResourceReadWithTenantId:(NSString *)tenantId success:(void(^)(id responseObject))successBlock failed:(void(^)(NSError *error))failedBlock;


/**
 2.8.1 举报

 @param parameters 举报参数
 @param successBlock 成功的回调
 @param failedBlock 失败的回调
 */
- (void)reportRecordWithparameters:(NSDictionary *)parameters success:(void(^)(id responseObject))successBlock failed:(void(^)(NSError *error))failedBlock;

/**
 2.9.3 添加推荐租客记录
 
 @param alrId 出租id
 @param arrId 租客id
 @param rentType 租客类型
 @param successBlock 成功的回调
 @param failedBlock 失败的回调
 */
- (void)requestInsertRecommendTenantWithAlrId:(NSString *)alrId arrId:(NSString *)arrId arbpId:(NSString *)arbpId rentType:(NSInteger)rentType success:(void(^)(id responseObject))successBlock failed:(void(^)(NSError *error))failedBlock;

/**
 2.9.4 添加推荐出租记录
 
 @param arrId 租客id
 @param alrId 出租id
 @param leaseType 出租类型
 @param successBlock 成功的回调
 @param failedBlock 失败的回调
 */
- (void)requestInsertRecommendTRentOutWithArrId:(NSString *)arrId alrId:(NSString *)alrId albpId:(NSString *)albpId rentType:(NSInteger)leaseType success:(void(^)(id responseObject))successBlock failed:(void(^)(NSError *error))failedBlock;

/**
 3.3.1 发布房源合作

 @param parameters 发布房源的参数
 @param successBlock 成功的回调
 @param failedBlock 失败的回调
 */
- (void)releaseHouseCooperationWithparameters:(NSDictionary *)parameters success:(void(^)(id responseObject))successBlock failed:(void(^)(NSError *error))failedBlock;

/**
 3.3.2 发布客源合作
 
 @param parameters 发布客源的参数
 @param successBlock 成功的回调
 @param failedBlock 失败的回调
 */
- (void)releasePassengerCooperationWithparameters:(NSDictionary *)parameters success:(void(^)(id responseObject))successBlock failed:(void(^)(NSError *error))failedBlock;


@end
